/**
 * Mock object for module creation.
 * All specified public fields are OBLIGATORY!
 * 
 * @version 1.0
 * 
 */


// module name
var module =
	// module implementation
	(function(){
	//private section
		
	// will be accessible for public functions within the module
	// will be accessible via public functions outside the module
	// i.e. 			var a;
		
	//private section end
		
		//public api section
		return {
			
			// public function
			// it can access the value of "a" directly
			//
			// i.e.    call : function(){alert(a);}
			
			/**
			 * Module version.
			 * 
			 * @type {String}
			 */
			version : "0.0.0",
			
			/**
			 * Module info object.
			 * 
			 * @type {Object}
			 */
			info : {
				/**
				 *  Module description.
				 *  
				 *  @type {String}
				 */
		
				description: "my rulez module",
				
				/**
				 *  Module author name.
				 *  
				 *  @type {String}
				 */
				author: "megaAuthor"
			},
			
			/**
			 * Contains module names, on which this module is depending.
			 * Parent modules will be initiated BEFORE the dependant module.
			 * 
			 * @type {Array<String>}
			 */
			depends : [],
			
			/**
			 * Settings object. Contains all module's settings.
			 * Will be initialized before module initialization.
			 * Must contain all default settings.
			 * 
			 * @type {Object}
			 */
			settings : {
				// window_x : 2000,
				// supersecret_string : "qwerty"
			
			},
			
			/**
			 * Initialization function, which will be called to start the module.
			 * 
			 * @type {Function}
			 */
			init : function(){}
		}
		//public api section end;
	})();
	
// the module's public object will be accessible throughout the page
// i.e. 			window.module.call();
// the private section is not accessible
// i.e. 			window.module.a == "undefined"